﻿using Ekton_Manage_DomainCore.Aggregate;
using Ekton_Manage_DTO.CommonModels;
using Ekton_Manage_DTO.RequestModels.Menu;
using Ekton_Manage_DTO.RequestModels.SysRolePermission;
using Ekton_Manage_DTO.RequestModels.User;
using Ekton_Manage_InfrastructureCore.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ekton_Manage_IBusiness
{
    public interface ISelectSysUser
    {
        Task<Message> PutSysUserInfo(DtoInsertSysUser query);
        Task<Tuple<List<system_log>, int>> GetSysLogList(QueryDataParame query);
        Task<Tuple<List<user_roleView>, int>> GetSysUserList(QueryDataParame query);
        Task<Tuple<List<sys_role>, int>> GetSysRolesInfo(QueryDataParame query);
        Task<Message> PutSysUserState(int userId);
        Task<Message> PutSysUserPwd(int userId);
        Task<Message> PutSysRolesInfo(DtoInsertSysRole query);
        Task<Message> PostSysRolesInfo(DtoInsertSysRole query);
        Task<Message> DeleteSysRolesInfo(int id);
        //删除用户账号
        Task<Message> DeleteSysUserInfo(int userId);

        //添加账号信息
        Task<Message> PostSysUserInfo(DtoInsertSysUser request);
        //菜单动态路由
        Task<object> GetMenuRouter(int id, int role);
        //添加角色权限菜单
        Task<Message> PostSysUserPower(DtoSysUserPower request);
        //查询菜单结构
        Task<object> GetMenuList(int id);
        //获取选中的菜单权限
        Task<object> GetMenuPower(int roleId);

        //查询按钮动态路由
        Task<Message> GetBtnRouter();
        Task<Message> PostCompanyEmail(int platform_id, string email,string auth_code);
        Task<Message> GetCompanyEmail(int platform_id);
        Task<Message> GetCopyRight();
        Task<Message> PutCopyRight(DtoCopyRight request);
        Task<Message> Getaccountn(int id);
        Task<sys_user> GetUser(int id);
        //获取按钮编码
        Task<Message> GetBtnCodes(int id);
    }
}
